Page({
  data: {
    isBottomHidden: true, // 默认隐藏底部提示
    isRefreshing: false, // 控制是否正在刷新
    loadingText: '加载中...', // 加载中的提示文本
    animation: null, // 动画实例
    currentImageIndex: 0,
    images: ['https://p1.ssl.qhimg.com/t01594066693effc951.png',
      'https://n.sinaimg.cn/sinakd20220623s/411/w768h443/20220623/daa7-75a0baa386f953e717926c7d05abe57f.jpg',
      'https://tse1-mm.cn.bing.net/th/id/OIP-C.zKhtS8h4UHnhX5Wdi0HNnAAAAA?rs=1&pid=ImgDetMain','https://tse3-mm.cn.bing.net/th/id/OIP-C.5CYWcqNWrSeGYdveABMFiAHaCn?rs=1&pid=ImgDetMain','https://n.sinaimg.cn/sinakd20220623s/480/w768h512/20220623/484d-f475ba6f800388080c6b044683bdcacf.jpg','https://tse3-mm.cn.bing.net/th/id/OIP-C.EHj1OUOjSVw21n2UbHSmYAHaDh?rs=1&pid=ImgDetMain'
      // 可以添加更多图片链接
    ],
    lastTriggerTime: 0, // 用于记录上次触发onReachBottom的时间戳
    item:[
    ],
    search:[
    ],
    page:0,
    swiperHeight: 0, // 用于存储计算出的swiper高度（如果需要的话）
    timer: null, // 用于存储setTimeout的返回值，以便可以清除它
  },
  onSearchSubmit: function(e) {
    var that=this
    var searchText = e.detail.value.searchText;
    wx.setStorageSync("searchText", searchText);
    const currentTime = Date.now();
    console.log(searchText)
      // 检查距离上次触发是否已经超过1秒
    if (currentTime - this.data.lastTriggerTime > 6000) {
    if (searchText) {
      wx.navigateTo({
        url: '/pages/index_search/index_search',
      });

    } else {
      wx.showToast({
        title: "请输入搜索内容",
        icon: "none"
      });
    }
  }
  else {
    // 如果1秒内已经触发过，则报错
    console.error("正在加载中......");
    wx.showToast({
      title: '正在加载中......',
      icon: 'none'
    });
  }
  },
  onLoad: function() {
    this.startAutoSwitch(); // 调用自动切换函数
    var object_detail
// 显示加载提示框
wx.showLoading({
  title: '加载中',
});
var that=this
var object_detail;
wx.request({
  url: "https://9p47q51245.goho.co/index",
  header: {
    'Content-Type': 'application/json'
  },
  method: 'POST',
  data: {
    page: this.data.page
  },
  success: function (res) {
    console.log(res);
    object_detail = res.data;
    
    wx.setStorageSync('objecr_detail', object_detail);

    // 获取存储的数据
    var detail = wx.getStorageSync('objecr_detail');
    // 更新数据
    that.setData({
      item: that.data.item.concat(detail),
    }, function() {
      // 隐藏加载提示框
      wx.hideLoading();
    });

    // 删除存储的数据
    wx.removeStorageSync('objecr_detail');
  },
  fail: function (res) {
    wx.showToast({
      title: '网络错误',
      icon: 'none',
      duration: 2000
    });
    console.log(res);
    // 隐藏加载提示框
    wx.hideLoading();
  }
});

// 注意：在 success 回调函数中，确保使用正确的上下文（this 或 that）来引用setData方法。
// 如果在非页面或组件的上下文中使用，可能需要使用 that 替代 this。

      
  },

  onUnload: function() {
    if (this.data.timer) {
      clearTimeout(this.data.timer); // 在页面卸载时清除定时器
    }
  },
  // 自动切换图片
  startAutoSwitch: function() {
    this.data.timer = setTimeout(() => {
      this.switchImage();
      this.startAutoSwitch(); // 递归调用以持续自动切换
    }, 5000);
  },
  // 图片切换方法
  switchImage: function(index = null) {
    let currentImageIndex = this.data.currentImageIndex;
    if (index !== null) {
      // 如果是手动切换，则直接设置当前索引
      currentImageIndex = index;
      clearTimeout(this.data.timer); // 清除之前的定时器
      this.startAutoSwitch(); // 重新启动自动切换
    } else {
      // 自动切换逻辑
      currentImageIndex = (currentImageIndex + 1) % this.data.images.length;
    }
    this.setData({
      currentImageIndex: currentImageIndex
    });
  },
  // 处理swiper的change事件（如果需要的话）
  handleSwiperChange: function(e) {
    // 这里可以添加一些处理逻辑，比如更新页面上的指示器
    // 但对于自动切换和手动切换的逻辑，我们已经在switchImage中处理了
  },
  // 手动切换到指定图片（在indicator的dot上绑定tap事件时调用）
  switchToImage: function(e) {
    const index = e.currentTarget.dataset.index;
    this.switchImage(index);
  },
  //广告地址
  guanggo: function() {
    wx.request({
      url: "https://example.com",
      header: {
        'Content-Type': 'application/json'
      },
      success: function(res) {
        console.log(res);
      },
      fail: function(res) {
        console.log(res);
      }
    });
  },
  //页面跳转
    onTapItem: function(e) {
        // 获取点击的 item 的 id
        var id = e.currentTarget.id;
        console.log("Clicked item ID:", id);
        
        // 跳转到新页面，并传递 itemId 作为参数
        wx.navigateTo({
          url: '/pages/index_detail/index_detail?id=' + id
        });
      },
    fetchData: function() {
      var that = this;
      wx.showLoading({
        title: '加载中',
      });
      console.log('============================================')
      wx.request({      
        url: "https://9p47q51245.goho.co/index", // 请求的URL
        method: 'POST',
        data:{ 
          page:that.data.page+1
        },
        
        success: function(res) {
          console.log(res)
          if (res.statusCode==200){
            that.setData({
              item: that.data.item.concat(res.data),
              page:res.data.page+1
            });
            wx.hideLoading();
          }
          // 成功获取数据后，设置数据并停止下拉刷新动
          else{ 
            wx.hideLoading();
            wx.showToast({
              title: '没有更多了',
              icon: 'none',
              duration: 2000
            });
          }
        },
        fail: function() {
          // 请求失败，停止下拉刷新动画
          wx.hideLoading();
          wx.showToast({
            title: '加载失败',
            icon: 'none'
          });
        }
      });
    },
    onReachBottom: function() {
      // 获取当前时间戳
      const currentTime = Date.now();
      
      // 检查距离上次触发是否已经超过1秒
      if (currentTime - this.data.lastTriggerTime > 6000) {
        // 更新上次触发时间
        this.setData({ lastTriggerTime: currentTime });
        
        // 在页面底部时获取新数据
        this.fetchData();
      } else {
        // 如果1秒内已经触发过，则报错
        console.error("正在加载中......");
        wx.showToast({
          title: '正在加载中......',
          icon: 'none'
        });
      }
    },
    onPullDownRefresh: function() {
      var that = this;
      this.setData({ isRefreshing: true }); // 开始刷新
      wx.showLoading({ title: '加载中...', mask: true }); // 显示加载动画
  
      // 创建动画实例
      this.animation = wx.createAnimation({
        duration: 500, // 动画持续时间
        timingFunction: 'ease', // 动画效果
      });
      
      // 设置动画的初始状态
      this.animation.top(0).step();
      // 更新数据以应用动画
      this.setData({
        animation: this.animation.export()
      });
      var that=this
var object_detail;
      wx.request({
        url: "https://9p47q51245.goho.co/index",
        header: {
          'Content-Type': 'application/json'
        },
        method: 'POST',
        data: {
          page: 0
        },
        success: function (res) {
          wx.hideLoading();
          console.log(res);
          object_detail = res.data;
          
          wx.setStorageSync('objecr_detail', object_detail);
      
          // 获取存储的数据
          var detail = wx.getStorageSync('objecr_detail');
          // 更新数据
          that.setData({
            item: detail,
            page:0
          }, function() {
            // 隐藏加载提示框
            wx.hideLoading();
          });
      
          // 删除存储的数据
          wx.removeStorageSync('objecr_detail');
        },
        fail: function (res) {
          wx.showToast({
            title: '网络错误',
            icon: 'none',
            duration: 2000
          });
          console.log(res);
          // 隐藏加载提示框
          wx.hideLoading();
        }
      });
      // 调用后端API获取最新消息
    },
});
